search_terms=("porree" "eier" "salz" "test") # Array definieren
st_zaehler=0
for term in "${search_terms[@]}"; do
((st_zaehler++))
such_wort[$st_zaehler]="$term"
echo "Suchwort $st_zaehler: $term"
donesearch_terms=("porree" "eier" "salz" "test") # Array definieren
st_zaehler=0
for term in "${search_terms[@]}"; do
((st_zaehler++))
such_wort[$st_zaehler]="$term"
echo "Suchwort $st_zaehler: $term"
doneIFS wird nicht benötigt.Falls du search_terms als String hast und ihn in ein Array umwandeln musst:
search_terms="porree eier salz test"
IFS=" " read -ra such_wort <<< "$search_terms" # String in Array umwandeln
st_zaehler=0
for term in "${such_wort[@]}"; do
((st_zaehler++))
echo "Suchwort $st_zaehler: $term"
donesearch_terms="porree eier salz test"
IFS=" " read -ra such_wort <<< "$search_terms" # String in Array umwandeln
st_zaehler=0
for term in "${such_wort[@]}"; do
((st_zaehler++))
echo "Suchwort $st_zaehler: $term"
doneread -ra such_wort <<< "$search_terms" liest den String und speichert die Wörter in das Array such_wort.IFS=" " definiert das Trennzeichen (hier Leerzeichen).for und IFS verarbeiten (weniger empfehlenswert)Falls du unbedingt mit einem String arbeiten willst:
search_terms="porree eier salz test"
st_zaehler=0
IFS=" " # Trennzeichen auf Leerzeichen setzen
# Wichtig: "$search_terms" DARF NICHT in Anführungszeichen stehen!
for term in $search_terms; do
((st_zaehler++))
such_wort[$st_zaehler]="$term"
echo "Suchwort $st_zaehler: $term"
done
unset IFS # IFS zurücksetzen (optional)search_terms="porree eier salz test"
st_zaehler=0
IFS=" " # Trennzeichen auf Leerzeichen setzen
# Wichtig: "$search_terms" DARF NICHT in Anführungszeichen stehen!
for term in $search_terms; do
((st_zaehler++))
such_wort[$st_zaehler]="$term"
echo "Suchwort $st_zaehler: $term"
done
unset IFS # IFS zurücksetzen (optional)"schwarzer Pfeffer" würde in zwei Wörter aufgeteilt).IFS sollte nach Gebrauch zurückgesetzt werden (unset IFS).| Methode | Vorteile | Nachteile |
|---|---|---|
Array von Anfang an (search_terms=("a" "b" "c")) |
✅ Sicher, keine Probleme mit Leerzeichen | ❌ Muss von Anfang an als Array definiert werden |
String → Array umwandeln (read -ra arr <<< "a b c") |
✅ Funktioniert mit bestehenden Strings | ❌ Etwas umständlicher |
String mit IFS und for (for term in $string; do) |
✅ Einfache Syntax | ❌ Unsicher bei Leerzeichen/Sonderzeichen |
Verwende von Anfang an ein Array!
search_terms=("porree" "eier" "salz" "test") # Array definieren
for term in "${search_terms[@]}"; do
echo "Suchwort: $term"
donesearch_terms=("porree" "eier" "salz" "test") # Array definieren
for term in "${search_terms[@]}"; do
echo "Suchwort: $term"
done